from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(主动技能):
    名称 = "狂风冲刺"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [31, 185]
    无色消耗 = 0
    data0 = [0, 402, 444, 485, 526, 568, 607, 649, 691, 733, 771, 813, 857, 896, 937, 977, 1017, 1057, 1100, 1143, 1183, 1223, 1266, 1306, 1347, 1388, 1428, 1471, 1512, 1552, 1594, 1635, 1672, 1716, 1758, 1798, 1838, 1879, 1921, 1963, 2002, 2044, 2087, 2127, 2168, 2209, 2250, 2293, 2330, 2372, 2415, 2453, 2495, 2537, 2577, 2619, 2661, 2701, 2742, 2784, 2823, 2865, 2904, 2948, 2989, 3029, 3068, 3109, 3152, 3195, 3234]
    # 打满9次 操作比较反人类
    hit0 = 9
    TP成长 = 0.1
    TP上限 = 7

    CP武器 = False


class 技能1(主动技能):
    名称 = "回风斩"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5.5
    MP = [38, 227]
    无色消耗 = 0
    data0 = [0, 898, 991, 1081, 1172, 1265, 1355, 1444, 1537, 1627, 1720, 1810, 1902, 1994, 2084, 2175, 2266, 2358, 2450, 2540, 2633, 2723, 2814, 2904, 2997, 3089, 3181, 3272, 3360, 3452, 3543, 3634, 3726, 3817, 3910, 3998, 4091, 4182, 4273, 4366, 4456, 4547, 4639, 4730, 4821, 4913, 5004, 5095, 5187, 5275, 5368, 5459, 5550, 5642, 5732, 5825, 5914, 6005, 6099, 6189, 6280, 6372, 6463, 6555, 6645, 6736, 6828, 6920, 7010, 7102, 7194]
    hit0 = 4
    TP成长 = 0.1
    TP上限 = 7


class 技能2(被动技能):
    名称 = '疾风之棍棒精通'
    所在等级 = 15
    等级上限 = 30
    基础等级 = 20
    冷却关联技能 = ['所有']
    非冷却关联技能 = ['万象风龙阵', '无限风域', '风之极·永坠']

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        if self.等级 <= 20:
            return round(1.00 + 0.01 * self.等级, 5)
        else:
            return round(0.80 + 0.02 * self.等级, 5)

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 0.9


class 技能3(主动技能):
    名称 = "朔风牵引"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    MP = [45, 268]
    无色消耗 = 0
    data0 = [0, 569, 626, 687, 744, 803, 861, 919, 976, 1032, 1091, 1150, 1207, 1265, 1324, 1381, 1440, 1497, 1556, 1613, 1672, 1727, 1788, 1846, 1903, 1960, 2018, 2076, 2133, 2192, 2250, 2309, 2366, 2427, 2483, 2540, 2598, 2657, 2713, 2771, 2830, 2890, 2948, 3002, 3061, 3119, 3178, 3235, 3292, 3352, 3410, 3468, 3524, 3583, 3641, 3700, 3758, 3816, 3873, 3932, 3991, 4045, 4104, 4161, 4221, 4278, 4336, 4394, 4453, 4511, 4569]
    hit0 = 9
    TP成长 = 0.1
    TP上限 = 7


class 技能4(主动技能):
    名称 = "风鸣冲击"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8.5
    MP = [61, 366]
    无色消耗 = 0
    data0 = [0, 6799, 7492, 8179, 8869, 9560, 10248, 10938, 11630, 12319, 13009, 13698, 14389, 15078, 15770, 16459, 17148, 17839, 18529, 19218, 19906, 20598, 21286, 21979, 22669, 23357, 24045, 24737, 25427, 26115, 26806, 27498, 28186, 28877, 29566, 30256, 30947, 31637, 32324, 33018, 33707, 34396, 35087, 35778, 36463, 37155, 37845, 38536, 39225, 39915, 40605, 41293, 41985, 42674, 43364, 44055, 44745, 45433, 46125, 46814, 47504, 48195, 48883, 49573, 50264, 50954, 51643, 52334, 53023, 53712, 54403]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能5(主动技能):
    名称 = "游离之风"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [45, 268]
    无色消耗 = 0
    data0 = [0, 1269, 1398, 1528, 1655, 1785, 1913, 2041, 2173, 2299, 2430, 2555, 2688, 2816, 2946, 3074, 3202, 3332, 3459, 3589, 3718, 3847, 3975, 4104, 4233, 4360, 4490, 4619, 4751, 4876, 5007, 5137, 5264, 5393, 5523, 5652, 5779, 5909, 6038, 6165, 6295, 6423, 6553, 6682, 6810, 6940, 7067, 7198, 7324, 7457, 7582, 7713, 7842, 7971, 8098, 8228, 8359, 8485, 8616, 8743, 8873, 9001, 9130, 9258, 9387, 9516, 9645, 9774, 9904, 10030, 10162]
    hit0 = 4
    TP成长 = 0.1
    TP上限 = 7

class 技能6(主动技能):
    名称 = "双翼风刃"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 14
    MP = [91, 545]
    无色消耗 = 0
    data0 = [0, 2522, 2778, 3034, 3290, 3546, 3802, 4057, 4315, 4571, 4825, 5082, 5339, 5595, 5850, 6106, 6362, 6617, 6874, 7129, 7385, 7642, 7897, 8153, 8411, 8665, 8922, 9178, 9432, 9689, 9944, 10202, 10458, 10714, 10970, 11225, 11481, 11736, 11992, 12247, 12505, 12762, 13018, 13272, 13529, 13784, 14039, 14296, 14554, 14810, 15065, 15320, 15577, 15832, 16087, 16343, 16600, 16858, 17112, 17369, 17624, 17880, 18136, 18392, 18648, 18905, 19160, 19417, 19672, 19929, 20184]
    hit0 = 4
    TP成长 = 0.1
    TP上限 = 7


class 技能7(被动技能):
    名称 = '风之意志'
    所在等级 = 30
    等级上限 = 15
    基础等级 = 5

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025+0.015*self.等级, 5)


class 技能8(主动技能):
    名称 = "刃风"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 18
    MP = [132, 1108]
    无色消耗 = 1
    data0 = [0, 3772, 4154, 4538, 4920, 5305, 5687, 6069, 6453, 6835, 7216, 7601, 7983, 8367, 8749, 9131, 9515, 9897, 10282, 10663, 11046, 11429, 11811, 12195, 12578, 12960, 13344, 13726, 14109, 14492, 14874, 15257, 15640, 16021, 16406, 16788, 17171, 17554, 17937, 18319, 18702, 19086, 19468, 19850, 20234, 20617, 21000, 21383, 21765, 22147, 22531, 22914, 23296, 23679, 24062, 24445, 24828, 25211, 25594, 25977, 26359, 26742, 27124, 27508, 27891, 28273, 28657, 29039, 29421, 29805, 30187]
    hit0 = 1
    data1 = [0, 2203, 2426, 2650, 2873, 3097, 3320, 3544, 3768, 3991, 4214, 4438, 4660, 4885, 5107, 5330, 5554, 5779, 6003, 6225, 6448, 6671, 6895, 7119, 7343, 7566, 7789, 8013, 8236, 8460, 8684, 8908, 9130, 9353, 9578, 9801, 10025, 10248, 10471, 10695, 10919, 11143, 11365, 11589, 11813, 12036, 12260, 12484, 12706, 12930, 13153, 13377, 13601, 13823, 14047, 14271, 14494, 14718, 14942, 15165, 15388, 15612, 15836, 16059, 16282, 16506, 16730, 16953, 17177, 17401, 17623]
    hit1 = 1
    data2 = [0, 2987, 3289, 3593, 3896, 4198, 4502, 4806, 5109, 5411, 5715, 6018, 6321, 6624, 6927, 7229, 7532, 7837, 8140, 8442, 8746, 9048, 9351, 9655, 9959, 10261, 10564, 10867, 11171, 11474, 11777, 12080, 12383, 12686, 12990, 13292, 13595, 13899, 14201, 14505, 14808, 15111, 15414, 15717, 16020, 16323, 16626, 16929, 17232, 17535, 17838, 18142, 18445, 18748, 19050, 19354, 19657, 19960, 20263, 20567, 20870, 21173, 21476, 21779, 22082, 22385, 22689, 22991, 23294, 23598, 23900]
    hit2 = 1
    data3 = [0, 6552, 7219, 7883, 8548, 9213, 9878, 10542, 11207, 11872, 12536, 13203, 13867, 14532, 15195, 15862, 16527, 17191, 17858, 18521, 19187, 19852, 20515, 21182, 21846, 22511, 23178, 23840, 24507, 25172, 25836, 26501, 27166, 27829, 28496, 29161, 29825, 30491, 31155, 31820, 32486, 33152, 33816, 34480, 35146, 35811, 36476, 37141, 37805, 38469, 39134, 39799, 40466, 41130, 41794, 42460, 43124, 43791, 44455, 45120, 45784, 46449, 47113, 47779, 48445, 49110, 49775, 50439, 51105, 51770, 52434]
    hit3 = 1
    TP成长 = 0.1
    TP上限 = 5


class 技能9(主动技能):
    名称 = "风暴之眼"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 16
    MP = [128, 766]
    无色消耗 = 1
    data0 = [0, 10673, 11752, 12838, 13920, 15003, 16085, 17167, 18250, 19332, 20413, 21499, 22581, 23664, 24745, 25827, 26912, 27994, 29077, 30159, 31240, 32327, 33407, 34492, 35572, 36656, 37738, 38822, 39902, 40985, 42066, 43152, 44231, 45317, 46398, 47482, 48563, 49647, 50730, 51813, 52897, 53978, 55062, 56143, 57228, 58308, 59392, 60473, 61556, 62639, 63721, 64804, 65888, 66969, 68053, 69134, 70218, 71299, 72384, 73466, 74548, 75631, 76714, 77797, 78879, 79962, 81045, 82127, 83210, 84293, 85375]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.37
        self.CDR *= 0.90


class 技能10(主动技能):
    名称 = "真空旋风破"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 25
    MP = [164, 983]
    无色消耗 = 1
    data0 = [0, 958, 1056, 1153, 1251, 1348, 1446, 1542, 1640, 1737, 1836, 1934, 2030, 2128, 2225, 2322, 2418, 2516, 2612, 2712, 2810, 2907, 3005, 3099, 3198, 3295, 3394, 3491, 3587, 3685, 3782, 3881, 3978, 4075, 4171, 4268, 4367, 4463, 4561, 4658, 4758, 4855, 4953, 5048, 5145, 5242, 5338, 5437, 5535, 5634, 5730, 5828, 5924, 6023, 6121, 6218, 6313, 6409, 6508, 6605, 6703, 6802, 6898, 6996, 7094, 7190, 7287, 7384, 7482, 7580, 7677]
    hit0 = 8
    data1 = [0, 7677, 8455, 9234, 10014, 10793, 11571, 12351, 13131, 13908, 14687, 15466, 16246, 17025, 17805, 18582, 19361, 20140, 20917, 21698, 22476, 23257, 24035, 24815, 25594, 26371, 27151, 27929, 28709, 29487, 30268, 31045, 31822, 32600, 33383, 34160, 34940, 35720, 36498, 37278, 38054, 38834, 39614, 40392, 41169, 41951, 42730, 43508, 44285, 45066, 45844, 46624, 47402, 48184, 48961, 49738, 50516, 51296, 52077, 52855, 53636, 54412, 55192, 55971, 56750, 57529, 58308, 59086, 59866, 60644, 61423]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.power1 = 1.35
        self.CDR *= 0.8


class 技能11(主动技能):
    名称 = "风暴之拳"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [311, 1866]
    无色消耗 = 2
    data0 = [0, 23551, 25939, 28327, 30717, 33108, 35496, 37887, 40274, 42663, 45054, 47441, 49831, 52219, 54609, 56998, 59389, 61774, 64168, 66554, 68945, 71335, 73720, 76114, 78503, 80890, 83278, 85671, 88058, 90448, 92836, 95227, 97616, 100004, 102393, 104779, 107171, 109564, 111948, 114341, 116730, 119120, 121507, 123896, 126286, 128674, 131063, 133453, 135840, 138230, 140621, 143010, 145399, 147788, 150176, 152566, 154954, 157345, 159734, 162123, 164513, 166902, 169290, 171680, 174069, 176458, 178847, 181237, 183626, 186015, 188404]
    hit0 = 1
    data1 = [0, 2019, 2222, 2427, 2633, 2837, 3042, 3247, 3450, 3654, 3861, 4066, 4269, 4475, 4680, 4885, 5089, 5295, 5498, 5705, 5911, 6111, 6318, 6522, 6729, 6933, 7138, 7342, 7549, 7753, 7955, 8161, 8367, 8571, 8775, 8981, 9186, 9390, 9592, 9799, 10004, 10208, 10414, 10619, 10826, 11029, 11232, 11437, 11644, 11848, 12051, 12257, 12462, 12669, 12868, 13076, 13281, 13488, 13693, 13894, 14100, 14305, 14511, 14714, 14919, 15124, 15329, 15534, 15739, 15945, 16148]
    hit1 = 5
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit1 = 0
        self.power0 = 1.85


class 技能12(被动技能):
    名称 = '御风之力'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能13(主动技能):
    名称 = '万象风龙阵'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [600, 5040]
    无色消耗 = 5
    data0 = [0, 676, 832, 990, 1148, 1302, 1461, 1618, 1776, 2128, 2298, 2474, 2643, 2811, 2989, 3161, 3332, 3507, 3677, 3851, 4025, 4197, 4374, 4543, 4715, 4888, 5061, 5238, 5409, 5579, 5752, 5924, 6098, 6271, 6442, 6619, 6787, 6960, 7136, 7307, 7478, 7652, 7824, 7997, 8169, 8343, 8515, 8687, 8861, 9033, 9206]
    hit0 = 56
    data1 = [0, 12184, 15012, 17839, 20666, 23490, 26316, 29144, 31968, 38275, 41387, 44490, 47602, 50709, 53816, 56927, 60039, 63143, 66252, 69363, 72473, 75582, 78690, 81800, 84906, 88013, 91125, 94232, 97341, 100449, 103559, 106670, 109775, 112884, 115992, 119102, 122208, 125318, 128429, 131535, 134646, 137753, 140862, 143970, 147079, 150187, 153297, 156404, 159513, 162622, 165730]
    hit1 = 4


class 技能14(主动技能):
    名称 = "疾风瞬影闪"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [220, 1320]
    无色消耗 = 1
    data0 = [0, 3496, 3851, 4205, 4562, 4914, 5266, 5624, 5978, 6334, 6688, 7043, 7398, 7751, 8107, 8461, 8819, 9172, 9527, 9880, 10237, 10591, 10945, 11300, 11654, 12009, 12365, 12717, 13073, 13427, 13784, 14137, 14491, 14848, 15202, 15555, 15912, 16265, 16620, 16975, 17330, 17684, 18040, 18393, 18748, 19102, 19458, 19812, 20167, 20521, 20877]
    hit0 = 4
    data1 = [0, 3496, 3851, 4205, 4562, 4914, 5266, 5624, 5978, 6334, 6688, 7043, 7398, 7751, 8107, 8461, 8819, 9172, 9527, 9880, 10237, 10591, 10945, 11300, 11654, 12009, 12365, 12717, 13073, 13427, 13784, 14137, 14491, 14848, 15202, 15555, 15912, 16265, 16620, 16975, 17330, 17684, 18040, 18393, 18748, 19102, 19458, 19812, 20167, 20521, 20877]
    hit1 = 4
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.27


class 技能15(主动技能):
    名称 = "风卷残云"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [551, 3305]
    无色消耗 = 2
    data0 = [0, 3302, 3637, 3972, 4307, 4642, 4977, 5312, 5647, 5982, 6317, 6652, 6987, 7322, 7658, 7992, 8329, 8663, 8997, 9334, 9668, 10004, 10339, 10673, 11009, 11344, 11678, 12014, 12349, 12683, 13019, 13354, 13690, 14024, 14359, 14695, 15029, 15365, 15700, 16034, 16370, 16705, 17040, 17375, 17710, 18045, 18380, 18715, 19050, 19385, 19720]
    hit0 = 10
    data1 = [0, 11009, 12125, 13242, 14359, 15475, 16592, 17710, 18826, 19944, 21060, 22176, 23293, 24411, 25528, 26645, 27762, 28880, 29995, 31111, 32230, 33346, 34463, 35581, 36697, 37812, 38929, 40046, 41164, 42280, 43397, 44515, 45631, 46748, 47865, 48981, 50100, 51216, 52332, 53449, 54566, 55682, 56801, 57917, 59034, 60151, 61267, 62384, 63500, 64618, 65736]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.30


class 技能16(主动技能):
    名称 = '游龙惊风破'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 2812, 3097, 3383, 3667, 3952, 4237, 4524, 4808, 5093, 5378, 5664, 5950, 6235, 6520, 6803, 7090, 7376, 7660, 7945, 8231, 8516, 8801, 9087, 9372, 9658, 9943, 10229, 10515, 10797, 11083, 11367, 11654, 11940, 12225, 12510, 12795, 13081, 13365, 13651, 13936, 14221, 14507, 14792, 15077, 15362, 15649, 15935, 16217, 16504, 16789]
    hit0 = 12
    data1 = [0, 46364, 51068, 55771, 60474, 65176, 69883, 74585, 79288, 83993, 88696, 93398, 98106, 102808, 107511, 112214, 116918, 121620, 126325, 131030, 135733, 140436, 145138, 149843, 154546, 159249, 163956, 168659, 173361, 178067, 182769, 187472, 192178, 196880, 201582, 206288, 210991, 215693, 220398, 225101, 229804, 234508, 239213, 243918, 248621, 253324, 258028, 262731, 267434, 272138, 276842]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 0
        self.power1 = 2.18


class 技能17(被动技能):
    名称 = '风神诀'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能18(主动技能):
    名称 = '九霄风雷'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [800, 6000]
    无色消耗 = 5
    # 14+1
    # 低于100攻速且立即落地时，存在丢hit情况，hit数11-13
    # 携带CP后不存在丢hit
    data0 = [0, 2742, 3018, 3301, 3577, 3856, 4134, 4413, 4691, 4971, 5247, 5526, 5804, 6082, 6361, 6637, 6917, 7195, 7473, 7752, 8030, 8307, 8585, 8865, 9142, 9420, 9698, 9978, 10256, 10534, 10813, 11091, 11369, 11648, 11926, 12203, 12482, 12759, 13039, 13318, 13595, 13874, 14152, 14429, 14708, 14987, 15265, 15542, 15820, 16099, 16379]
    hit0 = 14
    data1 = [0, 57600, 63444, 69288, 75134, 80975, 86817, 92664, 98507, 104350, 110195, 116038, 121882, 127724, 133570, 139413, 145256, 151099, 156943, 162789, 168630, 174472, 180319, 186162, 192004, 197851, 203692, 209536, 215380, 221226, 227067, 232912, 238754, 244598, 250441, 256285, 262128, 267976, 273817, 279658, 285505, 291347, 297191, 303035, 308880, 314724, 320566, 326409, 332253, 338096, 343940]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.27
        self.CDR *= 0.89


class 技能19(主动技能):
    名称 = '无限风域'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [1500, 5000]
    无色消耗 = 10
    data0 = [0, 19448, 23959, 28467, 32980, 37490, 41998, 46509, 51019, 55526, 60038, 64548, 69058, 73568, 78079, 82587, 87098, 91608, 96118, 100627, 105137, 109646, 114157, 118667, 123178, 127686, 132198, 136707, 141215, 145727, 150238, 154747, 159256, 163767, 168276, 172787, 177296, 181806, 186316, 190826, 195335, 199846, 204355, 208865, 213376, 217885, 222395, 226906, 231414, 235924, 240435]
    hit0 = 1
    data1 = [0, 7294, 8982, 10673, 12369, 14057, 15747, 17439, 19132, 20821, 22514, 24203, 25894, 27590, 29279, 30968, 32662, 34354, 36044, 37737, 39426, 41115, 42810, 44500, 46191, 47883, 49572, 51266, 52958, 54648, 56340, 58030, 59721, 61414, 63103, 64794, 66488, 68178, 69868, 71561, 73250, 74943, 76633, 78326, 80017, 81708, 83399, 85091, 86781, 88473, 90165]
    hit1 = 8
    data2 = [0, 38898, 47916, 56939, 65957, 74976, 83997, 93016, 102038, 111059, 120076, 129093, 138116, 147136, 156157, 165176, 174196, 183215, 192235, 201255, 210275, 219297, 228314, 237335, 246356, 255374, 264396, 273415, 282435, 291455, 300474, 309494, 318514, 327534, 336556, 345574, 354593, 363614, 372634, 381653, 390674, 399693, 408713, 417733, 426752, 435772, 444793, 453814, 462833, 471852, 480873]
    hit2 = 1
    data3 = [0, 77795, 95838, 113874, 131915, 149957, 167994, 186036, 204075, 222114, 240154, 258194, 276234, 294272, 312314, 330353, 348393, 366434, 384471, 402513, 420550, 438590, 456632, 474672, 492710, 510748, 528792, 546829, 564869, 582911, 600947, 618989, 637029, 655068, 673108, 691147, 709189, 727228, 745268, 763308, 781346, 799386, 817427, 835466, 853506, 871545, 889586, 907624, 925665, 943705, 961744]
    hit3 = 1


class 技能20(主动技能):
    名称 = "怒风狂涌"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [773, 6000]
    无色消耗 = 7
    data0 = [0, 5139, 5660, 6182, 6703, 7223, 7744, 8267, 8789, 9310, 9830, 10353, 10873, 11395, 11917, 12437, 12960, 13482, 14001, 14524, 15045, 15564, 16085, 16608, 17129, 17651, 18173, 18694, 19215, 19737, 20258, 20780, 21302, 21821, 22345, 22866, 23387, 23908, 24430, 24950, 25470, 25994, 26516, 27036, 27556, 28077, 28599, 29121, 29642, 30164, 30684]
    hit0 = 6
    data1 = [0, 11563, 12736, 13911, 15081, 16253, 17429, 18600, 19774, 20945, 22119, 23293, 24466, 25639, 26814, 27986, 29159, 30329, 31505, 32677, 33851, 35023, 36196, 37369, 38543, 39715, 40890, 42061, 43235, 44408, 45582, 46754, 47928, 49099, 50274, 51446, 52619, 53796, 54966, 56138, 57312, 58485, 59659, 60831, 62003, 63177, 64350, 65524, 66696, 67869, 69042]
    hit1 = 4
    data2 = [0, 77086, 84906, 92726, 100547, 108368, 116189, 124011, 131830, 139651, 147471, 155290, 163112, 170932, 178753, 186573, 194392, 202213, 210034, 217856, 225676, 233495, 241317, 249138, 256955, 264777, 272598, 280418, 288239, 296060, 303882, 311700, 319521, 327342, 335161, 342983, 350803, 358622, 366443, 374263, 382081, 389904, 397724, 405547, 413366, 421187, 429007, 436827, 444648, 452468, 460289]
    hit2 = 1


class 技能21(被动技能):
    名称 = '初始之风'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能22(主动技能):
    名称 = "风之极·永坠"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 8056]
    无色消耗 = 15
    data0 = [0, 57576, 70927, 84277, 97630, 110979, 124331, 137683, 151034, 164385, 177736, 191087, 204438, 217789, 231141, 244492, 257842, 271195, 284545, 297898, 311246, 324598, 337951, 351302, 364652, 378003, 391356, 404706, 418056, 431409, 444758, 458111, 471462, 484813, 498164, 511516, 524866, 538218, 551569, 564922, 578271, 591622, 604973, 618325, 631676, 645026, 658378, 671730, 685079, 698432, 711783]
    hit0 = 1
    data1 = [0, 86364, 106390, 126417, 146446, 166472, 186499, 206524, 226552, 246578, 266606, 286632, 306658, 326685, 346712, 366738, 386764, 406790, 426818, 446846, 466872, 486899, 506924, 526953, 546979, 567007, 587032, 607061, 627085, 647114, 667140, 687167, 707194, 727220, 747246, 767276, 787301, 807329, 827354, 847380, 867408, 887434, 907461, 927488, 947514, 967541, 987567, 1007594, 1027621, 1047648, 1067675]
    hit1 = 1
    data2 = [0, 17272, 21278, 25284, 29289, 33293, 37298, 41305, 45309, 49315, 53319, 57326, 61331, 65336, 69342, 73345, 77352, 81359, 85362, 89369, 93376, 97380, 101386, 105390, 109395, 113399, 117406, 121411, 125417, 129422, 133429, 137433, 141439, 145443, 149448, 153453, 157459, 161464, 165469, 169476, 173482, 177486, 181491, 185496, 189502, 193508, 197512, 201518, 205522, 209530, 213535]
    hit2 = 25


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'swift_master'
        self.名称 = '知源·逐风者'
        self.角色 = '魔法师(男)'
        self.角色类型 = '输出'
        self.职业 = '逐风者'
        # 用来筛CP武器的
        self.转职 = '逐风者'
        self.武器选项 = ['棍棒']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '棍棒'
        self.防具类型 = '皮甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.11

        super().__init__(equVersion)

    def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None:
        return super().set_skill_info(info=info, rune_start_lv=15)

    def 伤害计算(self):
        data = super().伤害计算()
        狂风冲刺 = self.get_skill_by_name("狂风冲刺")
        if 狂风冲刺.CP武器:
            skill_dict = data['skills']
            游离之风 = skill_dict.get("游离之风", {})
            狂风冲刺 = skill_dict.get("狂风冲刺", {})
            狂风冲刺次数 = 狂风冲刺.get("count", 0) * 3
            游离之风次数 = 游离之风.get("count", 0)
            游离之风伤害 = 游离之风.get("damage", 0)
            if 狂风冲刺 != {} and data['skills'].get('游离之风', None) != None:
                data['skills']['游离之风']['count'] += 狂风冲刺次数
                data['skills']['游离之风']['damage'] += 狂风冲刺次数/2 * 游离之风伤害/游离之风次数
                data['total_data'] += 狂风冲刺次数/2 * 游离之风伤害/游离之风次数
        dps = 0
        for temp in data['skills']:
            skill = data['skills'][temp]
            try:
                dps += (skill['damage']/skill['count'])/skill['cd']
            except:
                pass
        data['dps'] = dps
        return data
